package com.hxx.day2.action;

import org.junit.Test;

public class TestException1 {

    public void show()throws Exception{
        System.out.println("show");
    }

    /**
     * 都向上抛出异常，方法声明上抛出异常，调用方法必须处理异常或者继续向上抛出异常
     * @throws Exception
     */
    @Test
    public void test1() throws  Exception{
        //调用方法
        show();
    }
    /**
     * 直接处理异常
     */
    @Test
    public void test2() {
        try {
            show();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 手动抛出异常
     */
    public void show1() {
        try {
            throw new Exception("自定义异常");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    public void show2() {
       throw new RuntimeException("自定义异常");
    }
    /**
     * throw相当于return
     * 以下的代码不能执行了
     */
    public void show3() {
        if (1==10){
            throw new RuntimeException("自定义异常");
        }
        System.out.println("show3");
    }

    @Test
    public void test3() {
        show3();
    }
}























